package com.cskaoyan.mapper;


import com.cskaoyan.bean.*;

import com.cskaoyan.weixin.bean.goods.BrotherCategoryBean;
import com.cskaoyan.weixin.bean.goods.CurrentCategoryBean;
import com.cskaoyan.weixin.bean.goods.FilterCategoryListBean;
import com.cskaoyan.weixin.bean.goods.ParentCategoryBean;
import com.cskaoyan.weixin.bean.home.ChannelBean;
import com.cskaoyan.weixin.bean.home.ChannelIndexVO;
import com.cskaoyan.weixin.bean.home.FloorGoodsIndexVO;
import com.cskaoyan.weixin.bean.home.FloorGoodsListBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CategoryMapper {
    long countByExample(CategoryExample example);

    int deleteByExample(CategoryExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Category record);

    int insertSelective(Category record);

    List<Category> selectByExample(CategoryExample example);

    Category selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Category record, @Param("example") CategoryExample example);

    int updateByExample(@Param("record") Category record, @Param("example") CategoryExample example);

    int updateByPrimaryKeySelective(Category record);

    int updateByPrimaryKey(Category record);

    List<CategoryListVO> getCategoryListVOByPid(@Param("pid") Integer pid);

    List<CategoryL1VO> selectAllCategoryL1();

    List<Cat> selectCatList();

    List<ChannelBean> selectChannel();

    List<FloorGoodsListBean> selectFloorGoods();

    List<ChannelIndexVO> queryCategoryVOList();

    List<FloorGoodsIndexVO> queryFloorGoodsVOList();

    List<Category> queryCatalogListByPid(@Param("pid") Integer pid);

    Category queryCatalogListById(@Param("id") Integer id);

    CurrentCategoryBean selectCurrent(@Param("id") Integer id);

    ParentCategoryBean selectParent(@Param("id") Integer id);

    List<BrotherCategoryBean> selectBrother(@Param("id") Integer id);

    List<FilterCategoryListBean> selectCategory();
}
